package ar.uba.is2.common.mensaje.filtro.impl;

import java.util.Random;

import ar.uba.is2.common.mensaje.Mensaje;
import ar.uba.is2.common.mensaje.filtro.Filtro;

public class FiltroDesordenaMensaje implements Filtro {

	private static final float PROBABILIDAD_DESORDENAR = 0.3f;
	
	private Random random = new Random();
	
	
	@Override
	public Mensaje filtrar(Mensaje mensaje)  {
		
		if (random.nextFloat() < PROBABILIDAD_DESORDENAR) {
			System.out.println("*****************Retengo mensaje " + mensaje.getNumeroMensaje());			
			try {
				synchronized (mensaje) {
					mensaje.wait(2000l);
				}
			} catch (InterruptedException e) {
			}
		}
		return mensaje;
		
	}

}
